package main

import "fmt"

//if-else分支控制

func main() {
	//ifOnly(15)

	//ifElse(5)

	//isElseIf(10)

	ifBlockVariable(100, 500)
}

// if控制结构
func ifOnly(age int) {
	if age >= 18 {
		println("成年人")
		return
	}
	println("未成年人")
}

// if-else控制结构
func ifElse(age int) {
	if age >= 18 {
		println("成年人")
	} else {
		println("未成年人")
	}
}

// if-else-if控制结构
func isElseIf(age int) {
	var desc string
	if age >= 18 {
		desc = "成年人"
	} else if age >= 6 {
		desc = "青少年"
	} else {
		desc = "婴幼儿"
	}
	println(desc)
}

// 在if块中定义局部变量
// 推荐采用这种方式,可以尽可能减小变量的作用域
func ifBlockVariable(start, end int) {
	if distance := end - start; distance >= 1000 {
		fmt.Printf("距离是:%d米,太远了,不去!", distance)
	} else {
		fmt.Printf("距离是:%d米,不远,可以去!", distance)
	}

	//distance的作用域仅在if块内,超出if块就无法访问了
	//println(distance)编译错误
}
